Instituto Federal de São Paulo (IFSP) Campus Bragança Paulista/SP Análise e Desenvolvimento de Sistemas (ADS) 5o. módulo Profa. Ana Paula Müller Giancoli paulagiancoli@ifsp.edu.br |
<form>
...inserir suas tags de formulário aqui ...
</form>
name: indica o nome do formulário, pois em uma página poderei ter mais de um. E este atributo será usado para identificá-lo.
<form name="form1"> .... </form>
action: define onde os dados são enviados. Seu valor deve ser um URL válido. Se esse atributo não for fornecido, os dados serão enviados para o URL da página que contém o formulário.
<form action="http://teste.com" name="form1"> .... </form>
method: define como os dados são enviados.
Dados de formulários HTML podem ser transmitidos através de métodos GET ou POST.
Exemplo:
<form action="http://teste.com" name="form1" method="POST"> .... </form>
Figura representa a arquitetura
Fonte: (MDN Web Docs). Disponível em: MDN Web Docs. Acesso em: 14 jul. 2020.
<fieldset>
<legend> Legenda do Fieldset </legend>
....demais conteúdos ...
</fieldset>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Tags de Formulários</title>
</head>
<body>
<form method="post" action="" name="form1" >
<fieldset> <!-- Adicionado -->
<legend>Informações Pessoais</legend> <!-- Adicionado -->
</fieldset> <!-- Adicionado -->
</form>
</body>
</html>
Saída:
<!-- Arquivo index.html -->
<!-- Estrutura do HTML mantida a mesma -->
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Tags de Formulários</title>
<link rel="stylesheet" href="css/estilo.css">
</head>
<body>
<form method="post" action="" name="form1" >
<fieldset> <!-- Adicionado -->
<legend>Informações Pessoais</legend> <!-- Adicionado -->
</fieldset> <!-- Adicionado -->
</form>
</body>
</html>
/* Arquivo estilo.css */
/* Todos os elementos dentro do fieldset, receberão estas configurações */
/* Exceto se forem especificados individualmente após esta definição */
/* Caso a altura não seja definida, ele assumirá conforme o conteúdo do fieldset. */
fieldset {
width: 600px;
height: 200px;
font-family: Tahoma;
font-size: 22px;
font-weight: bold;
background-color: lightskyblue;
border: 10px #af3333 solid;
}
/* A legenda será configurada conforme indicado */
legend {
color: darkblue; /* Cor do texto da legenda */
background-color: #b9def0; /* Cor de fundo da legenda */
padding: 10px;
border: 10px #af3333 solid; /* Borda da legenda, modificando a espessura, cor, e tipo */
border-radius: 2em; /* Cantos arredondados da legenda */
}
Saída:
Sintaxe:
<label for="identificador">Label</label>
Exemplo1 - Aplicando algumas formatações CSS já conhecidas e outras novas:
<!-- Arquivo index.html -->
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Tags de Formulários</title>
<link rel="stylesheet" href="css/estilo.css">
</head>
<body>
<form method="post" action="" name="form1" >
<fieldset>
<legend>Informações Pessoais</legend>
<label for="">Rótulo</label> <!-- Adicionado -->
</fieldset>
</form>
</body>
</html>
/* Arquivo estilo.css */
/* Todos os elementos dentro do fieldset, receberão estas configurações */
/* Exceto se forem especificados individualmente após esta definição */
/* Caso a altura não seja definida, ele assumirá conforme o conteúdo do fieldset. */
fieldset {
width: 600px;
height: 200px;
font-family: Tahoma;
font-size: 22px;
font-weight: bold;
background-color: lightskyblue;
border: 10px #af3333 solid;
}
/* A legenda será configurada conforme indicado */
legend {
color: darkblue; /* Cor do texto da legenda */
background-color: #b9def0; /* Cor de fundo da legenda */
padding: 10px;
border: 10px #af3333 solid; /* Borda da legenda, modificando a espessura, cor, e tipo */
border-radius: 2em; /* Cantos arredondados da legenda */
}
Saída:
<!-- Arquivo index.html -->
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Tags de Formulários</title>
<link rel="stylesheet" href="css/estilo.css">
</head>
<body>
<form method="post" action="" name="form1" >
<fieldset>
<legend>Informações Pessoais</legend>
<label for="nome">Rótulo</label> <!-- Adicionado -->
<input type="text" id="nome" name="nomeusuario"> <!-- Adicionado -->
</fieldset>
</form>
</body>
</html>
/* Arquivo estilo.css omitido para facilitar entendimento. Não foi modificado. */
Saída:
<!-- Arquivo index.html -->
<!-- Estrutura HTML mantida a mesma do exemplo anterior -->
<!-- Omitido para facilitar entendimento -->
/* Arquivo estilo.css */
/* Todos os elementos dentro do fieldset, receberão estas configurações */
/* Exceto se forem especificados individualmente após esta definição */
fieldset {
width: 600px;
height: 200px;
font-family: Tahoma;
font-size: 22px;
font-weight: bold;
background-color: lightskyblue;
border: 10px #af3333 solid;
}
/* A legenda será configurada conforme indicado */
legend {
color: darkblue;
background-color: #b9def0;
padding: 10px;
border: 10px #af3333 solid;
border-radius: 2em;
}
input {
outline: darkred solid 5px; /* Adicionado para destacar o outline da caixa de texto */
}
Saída:
<input type="text" id="nome" name="nomeusuario">
<input type="text" id="nome" name="nomeusuario">
<input type="text" id="nome" required>
Saída:
<input type="number" id="idade" min="10" max="100">
Saída:
| Valor min definido | Valor max definido | |
|---|---|---|
<input type="number" id="idade" min="10" max="100" step="2">
<fieldset>
<legend>Informações Pessoais</legend>
<label for="nome">Nome</label>
<input type="text" id="nome" placeholder="Indique seu nome completo">
</fieldset>
Saída:
<fieldset>
<legend>Informações Pessoais</legend>
<!-- omitido -->
<input type="text" id="cel" placeholder="+55(99)9999-9999" pattern="+55(99)9999-9999" title="+55(99)9999-9999"> <!-- inserido -->
</fieldset>
Saída:
<input type="text" id="nome" readonly>
Saída:
<input type="text" id="nome" disabled>
Saída:
<input type="text" id="nome" size="70">
Saída:
maxlength: Indica o número máximo de caracteres que podem ser inseridos na caixa. É aplicável nos tipos de dados text, password, url, search, tel, email. Este complementa o atributo size que define externamente a caixa de texto, e este aqui, internamente (conteúdo).
Sintaxe:
<input type="text" id="nome" size="70" maxlength="30">
Saída:
<label for="nome">Nome</label>
<select multiple id="nome">
<option>Ana Paula</option>
<option>Paula</option>
<option>Ana</option>
<option>Paula Ana</option>
<option>Aninha</option>
</select>
Saída:
<form method="post" action="" name="form1" autocomplete="on">
<input type="text" id="nome" autofocus>
<fieldset>
<legend>Informações Pessoais</legend>
<p>Selecione qualquer um dos itens:</p>
<label for="um">Elemento inicial:</label>
<input type="text" id="um">
<div tabindex="0">Segundo elemento.</div>
<div>Elemento não indexado com tab.</div>
<label for="tres">Terceiro elemento:</label>
<input type="text" id="tres">
</fieldset>
Saída:
É exibido como uma caixa de entrada de dados, permite a inserção de uma linha de texto.
Sintaxe:
<fieldset>
<legend> Texto </legend>
<label for="texto">Type: text</label>
<input type="text" id="texto">
</fieldset>
Saída:
É um campo de senha. Exibido uma caixa com símbolos para ocultar a senha digitada.
Sintaxe:
<fieldset>
<legend>Senha</legend>
<label for="texto">Type: password</label>
<input type="password" id="texto">
</fieldset>
Saída:
É um botão de radio, permite escolher uma única opção entre os itens disponíveis.
Sintaxe:
<fieldset>
<legend>Radio Button</legend>
<label for="if1"> Institutos Federais </label>
<div class="radio">
<input type="radio" id="if1" name="ifs" checked>
<label for="if1" class="linha">IFSP</label>
</div>
<div class="radio">
<input type="radio" id="if2" name="ifs">
<label for="if2" class="linha">IFF</label>
</div>
<div class="radio">
<input type="radio" id="if3" name="ifs">
<label for="if3" class="linha">IFMG</label>
</div>
<div class="radio">
<input type="radio" id="if4" name="ifs">
<label for="if4" class="linha">IF Sudeste de Minas</label>
</div>
</fieldset>
Saída:
É uma caixa de seleção, permite escolher mais de uma opção.
Sintaxe:
<fieldset>
<legend>Checkbox</legend>
<div class="checkbox">
<input type="checkbox" id="l1" name="ling1" checked tabindex="1">
<label for="l1" class="linha">Python</label><br>
</div>
<div class="checkbox">
<input type="checkbox" id="l2" name="ling2" tabindex="2">
<label for="l2" class="linha">JAVA</label><br>
</div>
<div class="checkbox">
<input type="checkbox" id="l3" name="ling3" tabindex="3">
<label for="l3" class="linha">PHP</label><br>
</div>
<div class="checkbox">
<input type="checkbox" id="l4" name="ling4" tabindex="4" >
<label for="l4" class="linha">C#</label><br>
</div>
</fieldset>
Saída:
É um Botão de envio, remete os dados do formulário. Exibido o conteúdo de value. Se o atributo name for inserido, ao enviar o formulário será enviado o nome e o valor.
Sintaxe:
<fieldset>
<legend>Enviar o formulário</legend>
<label for="texto">Type: submit</label><br>
<input type="submit" id="texto">
</fieldset>
Saída:
É um botão de redefinição. Restaura o formulário com os valores padrão. Não é muito usado devido a experiências desagradáveis.
Sintaxe:
<fieldset>
<legend>Limpar o formulário</legend>
<label for="texto">Type: reset</label><br>
<input type="reset" id="texto">
</fieldset>
Saída:
O atributo accept de alguns navegadores móveis permite acesso a câmera, microfone de alguns dispositivos.
Sintaxe:
<fieldset>
<legend>Carregar arquivo</legend>
<label for="texto">Type: file</label><br>
<input type="file" id="texto">
</fieldset>
Saída:
Permite os atributos name, value. O campo com este tipo de dados não é exibido no formulário, utilizado para passar valores para os servidores.
Sintaxe:
<fieldset>
<legend>Esconder</legend>
<label for="texto">Type: hidden</label><br>
<input type="hidden" id="texto">
</fieldset>
Saída:
É semelhante ao comportamento do tipo submit e utiliza todos os atributos da tag < img >, especificamente < src >, < alt >.
Sintaxe:
<fieldset>
<legend>Imagem</legend>
<label for="texto">Type: image</label><br>
<input type="image" id="texto" src="logoDWE.jpg">
</fieldset>
Saída:
É um botão, e é usado para manipular eventos.
Sintaxe:
<fieldset>
<legend>Botão</legend>
<label for="texto">Type: button</label><br>
<input type="button" id="texto" value="Executar">
</fieldset>
Saída:
É um campo de texto para inserir um número. Permitido a combinação dos atributos min, max e step. Em alguns dispositivos móveis permite exibir um teclado numérico.
Sintaxe:
<fieldset>
<legend>Número</legend>
<label for="texto">Type: number</label><br>
<input type="number" id="texto" value="1">
</fieldset>
Saída:
É um campo destinado a inserção do email. O navegador fará a validação básica. Nos dispositivos móveis, o teclado é exibido A-Z, ponto, botão _123(leva ao teclado modificado) incluindo o caracter @.
Sintaxe:
<fieldset>
<legend>E-mail</legend>
<label for="texto">Type: e-mail</label><br>
<input type="email" id="texto" placeholder="xx.xx@ifsp.edu.br">
</fieldset>
Saída:
É um campo de busca, exibido como uma caixa com cantos arredondados. Em alguns navegadores aparece à direita um botão que pode limpá-lo quando selecionado. Já nos dispositivos móveis, exibe a lupa.
Sintaxe:
<fieldset>
<legend>Pesquisa</legend>
<label for="texto">Type: search</label><br>
<input type="search" id="texto">
</fieldset>
Saída:
É um campo utilizado para inserir um número de telefone. Não exige sintaxe ou padrão específico. Poderá inserir um atributo placeholder para indicar o formato de inserção, pattern para exigir o formato e codificar em javascript a validação deste número.
Sintaxe:
<fieldset>
<legend>Telefone</legend>
<label for="texto">Type: tel</label><br>
<input type="tel" id="texto">
</fieldset>
Saída:
<fieldset>
<legend>URL</legend>
<label for="texto">Type: url</label><br>
<input type="url" id="texto" placeholder="http://www.ifsp.edu.br">
</fieldset>
Saída:
É exibido na forma de um controle deslizante. Atributos permitidos min, max, step. Em value, defina o ponto inicial a posicionar a marcação do dezlizante.
Sintaxe:
<fieldset>
<legend>Faixa</legend>
<label for="texto">Type: range</label><br>
<input type="range" id="texto" min="1" max="10" value="3">
</fieldset>
Saída:
Permite a seleção de uma cor. Utiliza a paleta de cores do sistema operacional. O valor padrão é #000000.
Sintaxe:
<fieldset>
<legend>Cor</legend>
<label for="texto">Type: color</label><br>
<input type="color" id="texto">
</fieldset>
Saída:
Fornece uma data com ano, mês e dia. Alguns navegadores fornecem o suporte ao calendário.
Sintaxe:
<fieldset>
<legend>Data</legend>
<label for="texto">Type: date</label><br>
<input type="date" id="texto">
</fieldset>
Saída:
<fieldset>
<legend>Data Local</legend>
<label for="texto">Type: datetime</label><br>
<input type="datetime-local" id="texto">
</fieldset>
Saída:
<fieldset>
<legend>Mês</legend>
<label for="texto">Type: month</label><br>
<input type="month" id="texto">
</fieldset>
Saída:
<fieldset>
<legend>Time</legend>
<label for="texto">Type: time</label><br>
<input type="time" id="texto">
</fieldset>
Saída:
<fieldset>
<legend>Semana</legend>
<label for="texto">Type: week</label><br>
<input type="week" id="texto">
</fieldset>
Saída:
<fieldset>
<legend> Textarea </legend>
<label for="texto">Textarea</label><br>
<textarea id="texto" wrap="soft">Digite aqui seu texto</textarea>
</fieldset>
<fieldset>
<legend> Textarea </legend>
<label for="texto">Textarea</label><br>
<textarea id="texto" wrap="hard" cols="20">Digite aqui seu texto</textarea>
</fieldset>
Saída:
| wrap: soft | wrap: hard cols = 20 | |
|---|---|---|
<fieldset>
<legend>Seletores</legend>
<div>
<label for="cores">Cores</label>
<select name="tabelaCores" id="cores">
<option value="0">Selecione..</option>
<option value="1">vermelho</option>
<option value="2">verde</option>
<option value="3">amarelo</option>
</select><br>
</div>
</fieldset>
Saída:
<fieldset>
<legend>Seletores</legend>
<div>
<label for="dias">Dias da Semana</label><br>
<div>
<select name="DiasSemana" multiple id="dias">
<option value="Dom">Domingo</option>
<option value="Seg">Segunda</option>
<option value="Ter">Terça</option>
<option value="Qua">Quarta</option>
<option value="Qui">Quinta</option>
<option value="Sex">Sexta</option>
<option value="Sab">Sábado</option>
</select><br>
</div>
</div>
</fieldset>
Saída:
<fieldset>
<legend>Seletores</legend>
<div class="form-group">
<label for="equip">Equipamentos</label>
<select name="equipa" id="equip">
<option>Selecione...</option>
<optgroup label="Hardware">
<option value="tec">Teclado</option>
<option value="mou">Mouse</option>
</optgroup>
<optgroup label="Software">
<option value="java">Java</option>
<option value="c#">C#</option>
</optgroup>
</select>
</div>
</fieldset>
Saída:
O elemento list recebe como valor o identificador do elemento < datalist > que contém a lista.
Sintaxe:
<fieldset>
<legend>Listagem</legend>
<div hidden>
<datalist id="contactlist" class="form-control">
<option value="anapaula@xx.com.br" label="Ana Paula">
<option value="paula@xx.com.br" label="Paula">
<option value="giancoli@xx.com.br" label="Giancoli">
</datalist>
</div>
<div class="form-group">
<label for="contato">Contato:</label>
<input class="form-control" type="email" id="contato" list="contactlist">
</div>
</fieldset>
Saída:
<fieldset>
<legend>Botão Button</legend>
<button type="button">Tipo button</button>
</fieldset>
<fieldset>
<legend>Botão Submit</legend>
<button type="submit">Tipo submit</button>
</fieldset>
<fieldset>
<legend>Botão Reset</legend>
<button type="reset">Tipo Reset</button>
</fieldset>
Saída:
<fieldset>
<legend>Uso do Output</legend>
<h2>Multiplicação</h2>
<form oninput="output.value = parseInt(val1.valueAsNumber || 0) * parseInt(val2.valueAsNumber || 0)" id=foo>
<input id=a type=number name=val1 tabindex="1"> x
<input id=b type=number name=val2 tabindex="2"> =
<output name=output for="val1 val2" form=foo>000</output>
</form>
<h2>Soma</h2>
<form oninput="output.value = parseInt(val3.valueAsNumber || 0) + parseInt(val4.valueAsNumber || 0)" id=foo1>
<input id=c type=number name=val3 tabindex="3"> +
<input id=d type=number name=val4 tabindex="4"> =
<output name=output for="val3 val4" form=foo1>000</output>
</form>
<h2>Subtração</h2>
<form oninput="output.value = parseInt(val5.valueAsNumber || 0) - parseInt(val6.valueAsNumber || 0)" id=foo2>
<input id=e type=number name=val5 tabindex="5"> -
<input id=f type=number name=val6 tabindex="6"> =
<output name=output for="val5 val6" form=foo2>000</output>
</form>
<h2>Divisão</h2>
<form oninput="output.value = parseInt(val7.valueAsNumber || 0) / parseInt(val8.valueAsNumber || 0)" id=foo3>
<input id=g type=number name=val7 tabindex="7"> /
<input id=h type=number name=val8 tabindex="8"> =
<output name=output for="val7 val8" form=foo3>000</output>
</form>
</fieldset>
Saída:
<fieldset>
<legend>Exemplos Range, Meter, Progress</legend>
<h4>Range</h4>
<input type="range" id="texto" name="range" min="0" max="100" step="1"><br><br>
<h4>Meter</h4>
<meter value="60" name="meter" min="0" max="100" low="73" high="87">D--</meter><br><br>
<h4>Progress</h4>
<progress value="80" name="prog" max="100"><span id=""complete">0</span>%</progress>
</fieldset>
Saída:
ADS - HTML5, CSS3, JS - 5o. módulo.
Modelo e formato elaborado por profa. Ana Paula Müller Giancoli - BSD 2-Clause License. - Julho.2020.